.\" See LICENSE file for license details.
.Dd June 21, 2010
.Dt libpkg 3
.Os FreeBSD
.Sh NAME
.Nm libpkg
.Nd A library for package management
.\".Sh LIBRARY
.\".Lb libpkg
.Sh SYNPOPSIS
.Fd #include <pkg.h>
.Sh DESCRIPTION
The library provides several interfaces for package management.
.Pp 
A package is an encompassing term used to describe a piece of software that can
be or already is installed on a system.  Libpkg defines the struct pkg object to
track package state, type, and procedure.  See
.Xr pkg_pkg 3
for more information.
.Pp
A property list describes all relevant information of a package.  This
information can range from file information to the location of post installation
scripts.  Because the information in a package is so varied, libpkg provides the
struct pkg_property object and the pkg_property family of functions for building
hierarchies of information.  See
.Xr pkg_property 3
for more information.
.Pp
A package database stores information about installed software.  The struct
pkg_database object and pkg_database functions are defined to provide reliable
transactions with a database that stores package information.  See
.Xr pkg_database 3
for more information.
.Pp
A package repository houses package archives that can be installed on a system.
Libpkg provides the struct pkg_repository object and family of functions for
easy location resolution in a repository.  See
.Xr pkg_repository 3
for more information.
.Pp
Libpkg also provides functions for package installation and deinstallation.  See
.Xr pkg_install 3
for more information.
.Sh SEE ALSO
.Xr pkg_pkg 3
.Xr pkg_property 3
.Xr pkg_database 3
.Xr pkg_repository 3
.Xr pkg_freebsd 3
